<html>
<head><meta charset="utf-8"><title>Notes from Wasm SIMD · project-portable-simd · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/index.html">project-portable-simd</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Notes.20from.20Wasm.20SIMD.html">Notes from Wasm SIMD</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="238237019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Notes%20from%20Wasm%20SIMD/near/238237019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Notes.20from.20Wasm.20SIMD.html#238237019">(May 11 2021 at 01:19)</a>:</h4>
<p>It looks like Wasm SIMD is stabilizing for Rust, as discussed in <a href="#narrow/stream/219381-t-libs/topic/FCP.20for.20wasm.20simd.3F">https://rust-lang.zulipchat.com/#narrow/stream/219381-t-libs/topic/FCP.20for.20wasm.20simd.3F</a><br>
While sniffing around the WebAssembly repos, I found some interesting notes on emulation, perf, stuff in general:<br>
<a href="https://emscripten.org/docs/porting/simd.html">https://emscripten.org/docs/porting/simd.html</a><br>
<a href="https://github.com/WebAssembly/simd/blob/master/proposals/simd/WebAssembly-SIMD-May-2017.pdf">https://github.com/WebAssembly/simd/blob/master/proposals/simd/WebAssembly-SIMD-May-2017.pdf</a><br>
<a href="https://github.com/WebAssembly/design/blob/master/Portability.md#assumptions-for-efficient-execution">https://github.com/WebAssembly/design/blob/master/Portability.md#assumptions-for-efficient-execution</a><br>
<a href="https://github.com/WebAssembly/simd/tree/master/proposals/simd">https://github.com/WebAssembly/simd/tree/master/proposals/simd</a><br>
While we've already agreed to take a more expansive view on what SIMD means, I figured I'd note their takes on it anyways. What's especially interesting is what they left out versus what they included, imo.</p>



<a name="238237645"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Notes%20from%20Wasm%20SIMD/near/238237645" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Notes.20from.20Wasm.20SIMD.html#238237645">(May 11 2021 at 01:27)</a>:</h4>
<p>For instance: they left out popct, integer div, rotates (of... bits, I think?), and FMA.</p>



<a name="238249442"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Notes%20from%20Wasm%20SIMD/near/238249442" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Notes.20from.20Wasm.20SIMD.html#238249442">(May 11 2021 at 04:16)</a>:</h4>
<p>I wouldn't take wasm SIMD as indicative of everything users need. There's a substantial "lowest common denominator" push in the standard: resistance to adding anything that can't be done equally well on multiple architectures without emulation.</p>



<a name="238249619"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Notes%20from%20Wasm%20SIMD/near/238249619" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Notes.20from.20Wasm.20SIMD.html#238249619">(May 11 2021 at 04:20)</a>:</h4>
<p><span class="user-mention" data-user-id="239881">@Josh Triplett</span> I was not saying it was, I merely found the notes on performance interesting.</p>



<a name="238249830"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Notes%20from%20Wasm%20SIMD/near/238249830" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Notes.20from.20Wasm.20SIMD.html#238249830">(May 11 2021 at 04:22)</a>:</h4>
<p>I am <strong>very</strong> interested in where you got the idea that I was proposing this is "everything users need", and if I should refrain from sharing stuff I find and am reading in the future, lest it be mistaken as a direct proposal.</p>



<a name="238250085"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Notes%20from%20Wasm%20SIMD/near/238250085" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Notes.20from.20Wasm.20SIMD.html#238250085">(May 11 2021 at 04:27)</a>:</h4>
<p>I definitely <em>definitely</em> wasn't suggesting you said it was.</p>



<a name="238250094"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Notes%20from%20Wasm%20SIMD/near/238250094" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Notes.20from.20Wasm.20SIMD.html#238250094">(May 11 2021 at 04:27)</a>:</h4>
<p>Nor did I take it as a proposal. Sorry if it came across that way.</p>



<a name="238250168"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Notes%20from%20Wasm%20SIMD/near/238250168" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Notes.20from.20Wasm.20SIMD.html#238250168">(May 11 2021 at 04:28)</a>:</h4>
<p>You just mentioned it was interesting what they left out versus what they included, and I wanted to mention a factor that went into such selection that might not be well known. Nothing more. <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>



<a name="238250353"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Notes%20from%20Wasm%20SIMD/near/238250353" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Notes.20from.20Wasm.20SIMD.html#238250353">(May 11 2021 at 04:31)</a>:</h4>
<p>Well that's fair. I suppose I'm just a bit fuzzy-headed today, my apologies.</p>



<a name="238250432"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Notes%20from%20Wasm%20SIMD/near/238250432" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Notes.20from.20Wasm.20SIMD.html#238250432">(May 11 2021 at 04:32)</a>:</h4>
<p>My apologies as well.</p>



<a name="238250501"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Notes%20from%20Wasm%20SIMD/near/238250501" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Notes.20from.20Wasm.20SIMD.html#238250501">(May 11 2021 at 04:33)</a>:</h4>
<p>If anything, you went out of your way to contrast with the more expansive approach we're taking.</p>



<a name="238251233"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Notes%20from%20Wasm%20SIMD/near/238251233" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Notes.20from.20Wasm.20SIMD.html#238251233">(May 11 2021 at 04:43)</a>:</h4>
<p>Thanks for posting those links! They're a really useful example.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>